1. Technical Field
The invention relates in general to data processing systems and in particular to computer systems and computer displays that include data display regions which display a portion of a stored date file such as a compound document. In particular, the invention relates to a graphical user interface for marking and subsequently retrieving a collection of objects within a compound document. More particularly, the invention relates to a graphical user interface for maintaining a consistent collection of objects within a compound document.
2. Description of the Related Art
A graphical user interface is a type of display format that enables a user to choose commands, start programs, and see lists of files and other options by pointing to pictorial representations (icons) and lists of menu items on the screen. Choices can generally be activated by either a keyboard or a mouse.
For application developers, graphical user interfaces offer an environment that handles direct interaction with the computer. Such an environment frees the developer to concentrate on a given application without becoming entangled in the details of a screen display or mouse and keyboard input. It also enables programmers to create programs to handle frequently performed tasks, such as saving a data file. The interface itself provides standard controlling mechanisms such as windows and dialog boxes. Another benefit is that applications written for graphical user interfaces are device independent: as the interface changes to support new input and output devices, such as a large screen monitor or an optical storage device, the applications can, without modification, use those devices.
Some conventional graphical user interface methods provide a scroll bar for scrolling through pages of a document. Scrolling permits viewing of any desired portion of a document and is so named because it is the electronic equivalent of reading through a rolled (scrolled) document rather than flipping through pages of a book. A computer keyboard provides a number of "scroll-control" keys, such as the up, down, left, and right arrow keys. Application programs often offer additional methods of scrolling--for example, combing the "control" and "page up" keys to move to the beginning of a document.
Scroll bars typically are utilized in graphical user interfaces to accomplish a scrolling task. A vertical or horizontal bar at the side or bottom of a window that can be used with a mouse for moving around in a document can be utilized in a typical scrolling task. For example, software word processing programs commercially available typically utilize two scroll bars for scrolling through pages of a document. Typically, a vertical scroll bar is used to control movement or to scroll through lines and pages of a document. A horizontal scroll bar controls movement through words in a line.
Conventional graphical user interfaces which scroll bars usually include two arrows and a slider. Each arrow controls the direction in which a user desires to scroll through a document. An arrow conventionally controls movement through a document in small increments or small blocks of information, such as individual lines or a page of a document, for example. Moreover, if an arrow points in the upward direction, the document will be scrolled from its present position in the document toward the first page. If an arrow points in the downward position, the document will be scrolled from its present position in a document toward the last page of the document.
A slider is conventionally used to control movement through a document in larger increments than when the arrows are used. Instead of incrementing by small blocks of information, the slider typically controls movement through a document in larger blocks, increments or groups of information, such as two or more pages, for example. Therefore, when a user desires to move from the first page to the fiftieth page, the slider is usually selected and moved until page fifty is selected. The term "elevator" is also utilized to describe such a slider.
A document having multiple objects capable of running within the document such as spreadsheets, text, hotlinks, pictures, sounds, and video objects is a compound document. With such a compound document are collections of objects. An example of a collection of objects is a "page" as in a word processing document. When adding objects to the collection of objects, the collection of objects often merges with an adjacent collection of objects, interrupting uniformity in the compound document and the collection of objects. For example, if too much text or graphics are added to a page in a word processing document, objects at the "bottom" of the page are pushed into the next page, upsetting the uniformity in the collection of objects and the compound document. A collection of objects which maintains uniformity in a compound document is a goal sought by designers of graphical user interface environments. Such a collection of objects can be referred to as an object container.
In conventional graphical user interface environments, a typical window displays a portion (e.g. an object container) of a compound document. The size and position of the elevator within a window scroll bar corresponds to the size and position of the current viewable object container in relation to the compound document. Because the compound document includes too many object containers or pages to view simultaneously, the user can position a mouse cursor over an arrow section of the window scroll bar and click a pointing device (e.g. a mouse) to scroll the document upward or downward, as appropriate.
Some object containers in a compound document do not have text associated with them, and in turn cannot normally be searched. In practice, such object containers are typically located with a "hit and miss" strategy. The user guesses where such object containers reside in the compound document. However, the user is forced to sequentially search the actual pages of the compound document for the specific object container, a time consuming and often error prone task.
It is thus desirable to have a reliable and efficient technique to retrieve object containers from a compound document. It also desirable to maintain uniformity in the compound document and its associated object containers when adding or deleting objects from an object container.